package com.goodfox.web.generic.attribute.service;

import java.util.List;
import java.util.Map;

import com.goodfox.web.generic.account.entity.Account;
import com.goodfox.web.generic.attribute.entity.AtrType;
import com.goodfox.web.generic.attribute.entity.Attribute;
import com.goodfox.web.generic.provide.entity.Pager;

/**
 * 属性Service
 * @author qin gt
 *
 */
public interface AttributeService {
	
	/**
	 * 根据条件获取属性类型（分页列表）
	 * @param start
	 * @param count
	 * @param map
	 * @return
	 */
	Pager<AtrType> queryAtrTypePager(int start,int count,Map map);

	/**
	 * 获取全部属性类型（列表）
	 * @return
	 */
	List<AtrType> queryAtrTypeList();
	
	/**
	 * 根据Id获取属性类型
	 * @param typeValue
	 * @return
	 */
	AtrType getAtrTypeByValue(String typeValue);
	
	/**
	 * 根据类型Id获取属性（列表）
	 * @param typeValue
	 * @return
	 */
	List<Attribute> queryAttributeListByTypeId(String typeValue);

	/**
	 * 根据Id获取属性
	 * @param attributeId
	 * @return
	 */
	Attribute getAttribute(String atrId);
	
	/**
	 * 新增属性
	 * @param entity
	 * @param loginLogId
	 */
	void addAttribute(Attribute entity,String loginLogId);
	
	/**
	 * 修改属性
	 * @param oldEny
	 * @param newEny
	 * @param loginLogId
	 */
	void modifyAttribute(AtrType oldEny,AtrType newEny,String loginLogId);
	
	/**
	 * 查询全部属性列表
	 * @return
	 */
	List<Attribute> queryAttributeList();
	
	/**
	 * 初始化属性列表
	 */
	void reloadAttributeList();

}
